home *** CD-ROM | disk | FTP | other *** search
/ Champak 52 / Volume 52 - JOGO DISK .iso / Games / skipandgouls.swf / scripts / __Packages / characters / Skeletuna.as < prev    next >
Text File  |  2007-10-01  |  3KB  |  79 lines

  1. class characters.Skeletuna extends sarbakan.visual.element.DynamicElement
  2. {
  3.    static var ATTACK_DELAY = 150;
  4.    var nAttackDelayCount = 0;
  5.    function Skeletuna(l_oLayer, l_oInfos)
  6.    {
  7.       super("skeletuna" + sarbakan.visual.element.BaseElement.getNextID());
  8.       var _loc3_ = l_oLayer.mc;
  9.       this.mc = _loc3_.attachMovie("skeletuna","skeletuna" + sarbakan.visual.element.BaseElement.nNextID,maze.MazeData.DEPTH_SKELETUNA + sarbakan.visual.element.BaseElement.nNextID);
  10.       this.mc._x = l_oInfos.x * maze.MazeData.VIEW_TILE_WIDTH;
  11.       this.mc._y = l_oInfos.y * maze.MazeData.VIEW_TILE_HEIGHT;
  12.       this.disable();
  13.       this.updateState();
  14.    }
  15.    function checkDry()
  16.    {
  17.       if(this.collideWithElement("water",this.mc.dry))
  18.       {
  19.          this.oOwner.oDynamicElements.spongebob.endBashingSkeletuna();
  20.          this.oOwner.oDynamicElements.spongebob.setState("idle");
  21.          this.setState("attackMiss");
  22.          this.oOwner.oDynamicElements.spongebob.mc._x = this.mc._x;
  23.       }
  24.    }
  25.    function idle()
  26.    {
  27.       if(this.nAttackDelayCount < characters.Skeletuna.ATTACK_DELAY)
  28.       {
  29.          this.nAttackDelayCount = this.nAttackDelayCount + 1;
  30.       }
  31.       else if(this.oOwner.oDynamicElements.spongebob.bCanBeScared && this.collideWithElementBox("spongebob",this.mc.collider))
  32.       {
  33.          this.nAttackDelayCount = 0;
  34.          this.setState("attackStart");
  35.       }
  36.    }
  37.    function attackStart()
  38.    {
  39.       if(this.stateFinished())
  40.       {
  41.          if(this.collideWithElementBox("spongebob",this.mc.collider))
  42.          {
  43.             this.oOwner.oDynamicElements.spongebob.setState("captured");
  44.             this.oOwner.oDynamicElements.spongebob.oCurrentSkeletuna = this;
  45.             this.setState("attackGood");
  46.             sarbakan.sound.SoundManager.play("skeletunaGood",maze.MazeData.VOLUME_SKELETUNA,1);
  47.          }
  48.          else
  49.          {
  50.             this.setState("attackMiss");
  51.             sarbakan.sound.SoundManager.play("skeletunaBad",maze.MazeData.VOLUME_SKELETUNA,1);
  52.          }
  53.       }
  54.    }
  55.    function attackGood()
  56.    {
  57.       if(this.stateFinished())
  58.       {
  59.          this.oOwner.oDynamicElements.spongebob.setState("capturedPush");
  60.          this.oOwner.oDynamicElements.spongebob.startBashingSkeletuna();
  61.          this.setState("push");
  62.       }
  63.    }
  64.    function attackEnd()
  65.    {
  66.       if(this.stateFinished())
  67.       {
  68.          this.setState("idle");
  69.       }
  70.    }
  71.    function attackMiss()
  72.    {
  73.       if(this.stateFinished())
  74.       {
  75.          this.setState("idle");
  76.       }
  77.    }
  78. }
  79.